//
//  MessageFrameModel.m
//  QQ聊天列表
//
//  Created by Jorn.Wu on 15/5/23.
//  Copyright (c) 2015年 Jorn.Wu. All rights reserved.
//

#import "MessageFrameModel.h"
#import "Constant.h"
#import "MessageModel.h"

@implementation MessageFrameModel

- (void)setMessage:(MessageModel *)message{
    _message = message;
    
//    时间的frame
    if (!message.hideTime) {
        _timeF = CGRectMake(0, 0, kScreenSizeWidth, kNomalHeight);
    }
    
//    头像的frame
    CGFloat iconX;
    CGFloat iconY = CGRectGetMaxY(_timeF);
    CGFloat iconW = kIconWidth;
    CGFloat iconH = kIconHeight;
    
    if (message.type == MessageModelPersonOne) {//personOne
        iconX = kScreenSizeWidth - kIconWidth - kPadding;
    }else {//personTwo
        //空一个间距
        iconX = kPadding;
    }
    _iconF =CGRectMake(iconX, iconY, iconW, iconH);
    
//    消息框的frame
    CGFloat textViewX;
    CGFloat textViewY = iconY + kNomalPadding;//加点间距（与时间）
    
    CGSize textMaxSize = CGSizeMake(150, MAXFLOAT);
    
//    textView 的size通过message的bound来获取
    CGSize textRealSize = [_message.text boundingRectWithSize:textMaxSize
                                                      options:NSStringDrawingUsesLineFragmentOrigin
                                                   attributes:@{NSFontAttributeName : kButtonFont}
                                                      context:nil].size;
    
    
    CGSize btnSize = CGSizeMake(textRealSize.width + kInsidePadding * 2, textRealSize.height + kInsidePadding * 2);//根据文本添加内边距而放大消息框的大小

    if (message.type == MessageModelPersonOne) {//personOne
        textViewX = kScreenSizeWidth - kIconWidth - kPadding - btnSize.width - kNomalPadding;
    }else {//personTwo
        //空一个间距
        textViewX = kPadding + iconW + kNomalPadding;//5是加点间距，（与头像）
    }
    _textViewF = (CGRect){{textViewX,textViewY},btnSize};
    
//    cell的高度
    CGFloat iconMaxY = CGRectGetMaxY(_iconF);
    CGFloat textMaxY = CGRectGetMaxY(_textViewF);
    //获取头像和消息看框的最大高度
    _cellH = MAX(iconMaxY, textMaxY);//取最大的那个
}

@end






